package com.datastructure.sort;

import java.text.SimpleDateFormat;
import java.util.Date;

public class SelectSort {

    public static void main(String[] args) {
        int [] arr = new int[80000];
        for(int i =0; i < 80000; i++){
            arr[i] = (int)(Math.random() * 80000); // 生成一个[0，8000000)数
        }

        Date data1 = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateStr = simpleDateFormat.format(data1);
        System.out.println("排序前的时间是=" + dateStr);
        selectSort(arr);
        Date data2 = new Date();
        String dateStr2 = simpleDateFormat.format(data2);
        System.out.println("排序后的时间是=" + dateStr2);
    }

    public static void selectSort(int [] arr){
        for(int i=0; i < arr.length; i++){
            int min = arr[i];
            int minIndex = i;
            // 遍历
            for(int j=i+1;j< arr.length;j++){
                if(min > arr[j]){ // 说明min不是真的最小值
                    min = arr[j]; // 重置min
                    minIndex = j; // 重置minIndex
                }
            }
            // 判断是否需要交换
            if(minIndex != i){
                arr[minIndex]=arr[i];
                arr[i] = min;
            }
        }
    }
}
